home *** CD-ROM | disk | FTP | other *** search
- ;/* RestoreShell.c - Execute me to compile me with SAS/C 6.56
- ; (c) Copyright 1992-1999 Amiga, Inc. All rights reserved.
- ; The information contained herein is subject to change without notice,
- ; and is provided "as is" without warranty of any kind, either expressed
- ; or implied. The entire risk as to the use of this information is
- ; assumed by the user.
- ;
- sc DATA=NEAR NMINC STRMERGE NOSTKCHK NODEBUG IGNORE=73 RestoreShell.c
- slink FROM lib:c.o RestoreShell.o TO RestoreShell LIBRARY lib:sc.lib lib:amiga.lib smallcode smalldata
- quit
- */
- /* restore the BootShell as the UserShell. Note that this
- only switches back the BootShell, it does not unload the
- current user shell ("shell" on the resident list) as it
- is possible that some instance of it can still be running.
- */
- #include <exec/types.h>
- #include <dos/dosextens.h>
- #include <clib/exec_protos.h>
- #include <clib/dos_protos.h>
-
- #ifdef LATTICE
- int CXBRK(void) { return(0); } /* Disable Lattice CTRL/C handling */
- int chkabort(void) { return(0); }
- #endif
-
- UBYTE *vers = "\0$VER: RestoreShell 1.0";
-
- void main(void)
- {
- struct Segment
- *bootshell_seg,
- *shell_seg;
-
- Forbid();
- shell_seg = FindSegment("shell", NULL, CMD_SYSTEM);
- bootshell_seg = FindSegment("bootshell", NULL, CMD_SYSTEM);
- if (bootshell_seg)
- shell_seg->seg_Seg = bootshell_seg->seg_Seg;
- Permit();
- }
-
-